//
// Created by user on 20-5-5.
//

#ifndef _TIME_H_
#define _TIME_H_

#include "../../GeneralLibrary/Lib.h"

// 利用0x70和0x71端口获取时间
#define CMOS_READ(addr) ({ \
    io_out8(0x70, 0x80 | addr); \
    io_in8(0x71); \
})

typedef struct TimeStruct Time;

// 用于RTC的时间结构体
struct TimeStruct {
    int second;     // 00 秒
    int minute;     // 02 分钟
    int hour;       // 04 小时
    int day;        // 07 天
    int month;      // 08 月
    int year;       // 09+32 年
};

/**
 * 获取CMOS寄存器时间
 * @param time 时间结构体指针
 * @return 返回 0 或 1
 */
int getCmosTime(Time *time);

#endif //_TIME_H_
